package com.ruoyi.common.core.annotation;


import com.fasterxml.jackson.annotation.JacksonAnnotationsInside;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.ruoyi.common.core.enums.TranslatorConstants;
import com.ruoyi.common.core.utils.DataTranslatorSerializer;

import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;

/**
 * 自定义序列化翻译注解
 */
@Retention(RetentionPolicy.RUNTIME)
@JacksonAnnotationsInside
@JsonSerialize(using = DataTranslatorSerializer.class)
public @interface DataTranslator {

    /**
     * 翻译类型
     */
    TranslatorConstants type();

    /**
     * 翻译后的字段名
     */
    String fieldName();

    /**
     * 额外的参数
     */
    String[] args() default {};


}
